Php 如果表中有多个重复行,则在mysql中使用GROUPBY生成标志
我有下面的mysql表Php 如果表中有多个重复行,则在mysql中使用GROUPBY生成标志,php,mysql,Php,Mysql,我有下面的mysql表 ID ref 1 AOO 2 BGH 3 AOO 我的问题是 $getdup = "select * from coderef group by ref" 现在我明白了 ID ref 1 AOO 2 BGH 如果有多个项目,是否可以在ref旁边创建另一列,例如“备注”并注明“查看更多” ID ref notes 1 AOO view more 2 BGH 非常感谢您的帮助。您可以使
ID ref
1 AOO
2 BGH
3 AOO
我的问题是
$getdup = "select * from coderef group by ref"
现在我明白了
ID ref
1 AOO
2 BGH
如果有多个项目,是否可以在ref旁边创建另一列,例如“备注”并注明“查看更多”
ID ref notes
1 AOO view more
2 BGH
非常感谢您的帮助。您可以使用CASE表达式检查每个参考代码的计数,如果有多个代码,则显示“查看更多”。请注意,我在查询中省略了ID,因为不清楚要显示哪个ID
SELECT
ref,
CASE WHEN COUNT(*) > 1 THEN 'view more' END AS notes
-- MIN(ID) AS ID you could include this
FROM coderef
GROUP BY ref
按引用从coderef组中选择*无效SQL。只有出现在GROUP BY子句中的列才能出现在SELECT子句中,除非它们用作示例sql而不是最终sql的参数。我想知道case/if表达式的用法。没问题,请记住,MySQL 5.7.5及更新版本和旧版本拒绝查询select*from coderef group by ref。其他RDBMS只是拒绝它,因为它是无效的SQL。非常感谢Tim。”当COUNT*>1时,则“查看更多”结束为“注释”效果很好。