吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 540|回复: 14
收起左侧

[其他求助] sql的group by 求助

[复制链接]
p4607596 发表于 2023-3-13 13:34
50吾爱币
        表:septs
        字段:sex
        字段:nane   (主键)
       等等字段

要求答案VB6.0可运行
当前我的代码
sql = "select sex,name,count(*) from [septs] where father='王上'group by sex,name "
        rst.Open sql, cnn, 1, 4
        Set VSFlexGrid1.DataSource = rst
        rst.Close

当前得到结果是“
男         王一        1
男         王二         1
男         王四         1
女         王心           1
女         王娜          1

我想要的结果是”
男      3       王1,王二,王三
女      2       王心,王娜

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jaxfeng 发表于 2023-3-13 13:55
        select sex,
        COUNT( sex ) ,
        GROUP_CONCAT(`NAME`) as names from [septs] where father='王上'group by sex;
astree 发表于 2023-3-13 14:00
select sex,name,count(*) from [septs] where father='王上'group by sex,name  =>  select sex,count(*),GroupConcat('name','septs','sex=' & "'" & sex & "'") from [septs] where father='王上' group by sex。
其中GroupConcat是一个自定义函数,定义如下
[SQL] 纯文本查看 复制代码
Public Function GroupConcat(sColumn As String, sTable As String, Optional sCriteria As String, Optional sDelimiter As String = ",")
    On Error GoTo ErrHandler
    Dim rs As New ADODB.Recordset
    Dim sSQL As String
    Dim sResult As String
    sResult = ""
    sSQL = "select " & sColumn & " from " & sTable
    If sCriteria <> "" Then
        sSQL = sSQL & " where " & sCriteria
    End If
    rs.Open sSQL, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
    Do While Not rs.EOF
        If sResult <> "" Then
            sResult = sResult & sDelimiter
        End If
        sResult = sResult & rs.Fields(0).Value
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    GroupConcat = sResult
    Exit Function
ErrHandler:
    If rs.State <> adStateClosed Then
        rs.Close
    End If
    Set rs = Nothing
    GroupConcat = Err.Number & " : " & Err.Description

End Function

参考:https://blog.csdn.net/apollo_ts/article/details/6280474
zkl512008 发表于 2023-3-13 14:24
 楼主| p4607596 发表于 2023-3-13 14:51
astree 发表于 2023-3-13 14:00
select sex,name,count(*) from [septs] where father='王上'group by sex,name  =>  select sex,count(*), ...

file:///C:/Users/%E9%9F%A6%E6%99%93%E5%A7%90/Desktop/QQ%E6%88%AA%E5%9B%BE20230313144912.png这地方怎样写
astree 发表于 2023-3-13 15:42

图片上传到图床或者吾爱上。。你这贴个本地图片地址加载不出来的
 楼主| p4607596 发表于 2023-3-13 19:02
astree 发表于 2023-3-13 15:42
图片上传到图床或者吾爱上。。你这贴个本地图片地址加载不出来的

astree 发表于 2023-3-13 20:10

里面的双引号都用 \转义一下 变成\"
 楼主| p4607596 发表于 2023-3-13 20:37
astree 发表于 2023-3-13 20:10
里面的双引号都用 \转义一下 变成\"

"'" & sex & "'" 我不明白这句什么意思,改成'" & sex & "'这样它会变在一个变量,我看不明白。结果是都出错,不能运行。
zpy2 发表于 2023-3-14 06:02
p4607596 发表于 2023-3-13 20:37
"'" & sex & "'" 我不明白这句什么意思,改成'" & sex & "'这样它会变在一个变量,我看不明白。 ...

这个自定义函数之支持access vba ,vb6不支持的
换sqlite支持
https://club.excelhome.net/forum ... p;extra=&mobile
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-15 12:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表