php - 选择带有计数和不带有计数的语句

标签 php mysql

我有一个 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/

相关文章:

MySQL 更新运行缓慢

php - 如何从 PHP 发送固定值到数据库

php - 神秘幽灵MySQL插入查询

php - 如何让链接 'index.php?x'在页面上显示x部分

php - 为什么 PHP 应用程序的 Internet Explorer 中的后退按钮损坏,但在所有其他浏览器中都可以使用?

php - $_SERVER ['HTTP_REFERER'];尝试制作引用脚本时返回 .css 文件

PHP PDO 和使用 SELECT COUNT(*) 的查询

php - 需要有关多文件上传的帮助

mysql - 获取一对多关系的最后一条记录

php - 查询必须匹配的数组