我有一个 SQL 语句来选择数据:
SELECT DISTINCT count(table.data) as cntd, table.datatwo
FROM table LEFT JOIN tabletwo ON table.id=tabletwo.tableid
WHERE tabletwo.dated='2016-11-17' AND table.datafive='1'
如果我保持上面的方式 - 它返回的数据如下:
cntd datatwo
4 92
但是正确的数据应该是:
cntd datatwo
2 92
2 93
因为有两个不同的datatwo
。当我选择不带 cont 的语句时,它会显示 datatwo
。
datatwo
92
93
我哪里出错了?
最佳答案
尽管您的表命名是多么随机和不直观,但您似乎想要使用 GROUP BY
语句:
SELECT
DISTINCT count(table.data) as cntd,
table.datatwo
FROM table
LEFT JOIN tabletwo ON table.id=tabletwo.tableid
WHERE tabletwo.dated='2016-11-17'
AND table.datafive='1'
GROUP BY tabletwo.tableid
COUNT
语句是一个聚合函数,因此它会导致行折叠为一行。按每行的唯一值进行分组将导致其聚合在组中。
关于php - 选择带有计数和不带有计数的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639400/