php – SELECT DISTINCT name但返回所有数据

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – SELECT DISTINCT name但返回所有数据脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我有一个装满汽车的桌子:

假设有4个闪避毒蛇,数据库中会有4个条目,除了carID之外都是相同的.

carID | carname | carmodel | colour   |  reg
--------------------------------------------------
    1    |  viPEr  |  dodge  |   red     |  123
    2    |  viper  |  dodge  |   red     |  124
    3    |  viper  |  dodge  |   red     |  125
    4    |  viper  |  dodge  |   red     |  126
    5    |   R8    |  audi   |   blue    |  127
    6    |   R8    |  audi   |   blue    |  128

用户搜索汽车时,我想只显示一个闪避毒蛇.但是,我想从该行和所有其他不同的汽车中提取所有信息.

所以我想要的输出是:

carID | carname | carmodel | colour  |  reg
--------------------------------------------------
     1   |  viper  |   dodge  |  red    |  123
     5   |   R8    |   audi   |  blue   |  127

如果我做:

SELECT DISTINCT * From cars

它会撤回所有条目.

SELECT DISTINCT carname From cars

只拉回其中一个,但我只有车名.

有没有这样的:

SELECT * FROM cars ORDER BY DISTINCT carname

或类似的东西?

解决方法

如果你想要返回他的carId,那么你可以使用以下将返回每个相同车牌等的min(carid):

select min(carId) as carId,carname,carmodel,colour
from cars
group by carname,colour

SQL Fiddle with Demo

您将看到我将carId置于聚合函数中,这是为了确保MysqL始终返回carId列的预期值.如果您没有GROUP BY或聚合SELECT列表中的项目,您可能会返回意外的结果. (见MySQL Extensions to GROUP BY)

来自MysqL Docs:

脚本宝典总结

以上是脚本宝典为你收集整理的php – SELECT DISTINCT name但返回所有数据全部内容,希望文章能够帮你解决php – SELECT DISTINCT name但返回所有数据所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。