我有一个获取网络表单提交的查询。下面是查询及其返回的内容。我需要它返回重复 sid 的计数,以获取满足我的两个数据变量的所有提交的计数。意思是,我希望它返回 4,有什么建议吗?
SELECT sid, data
FROM webform_submitted_data
INNER JOIN node
ON webform_submitted_data.nid=node.nid
WHERE webform_submitted_data.nid= 15 AND webform_submitted_data.cid = 6 AND webform_submitted_data.data = 'male' OR webform_submitted_data.data = 'yes' AND webform_submitted_data.nid= 15 AND webform_submitted_data.cid= 15;
sid | Data
-----------
86 | male
86 | yes
87 | yes
88 | yes
90 | yes
91 | male
91 | yes
92 | male
92 | yes
93 | male
93 | yes
94 | yes
最佳答案
您可以按 sid 分组并统计您的数据:
SELECT sid, COUNT(*) as nb_sid
FROM webform_submitted_data
INNER JOIN node
ON webform_submitted_data.nid=node.nid
WHERE webform_submitted_data.nid= 15
AND webform_submitted_data.cid = 6
AND webform_submitted_data.data = 'male' OR webform_submitted_data.data = 'yes'
AND webform_submitted_data.nid= 15
AND webform_submitted_data.cid= 15
GROUP BY sid;
如果需要,您可以在 where 子句中过滤 nb_sid。
如果确实需要,您还可以使用 group_concat
获取数据中的值。
关于php - 如何计算选定列在查询结果中有多少个唯一字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473925/