gpt4 book ai didi

mysql - 使用多行作为一个订单

转载 作者:行者123 更新时间:2023-11-30 22:27:06 25 4
gpt4 key购买 nike

我有一个 SQL 查询

$choice = mysqli_real_escape_string($con,$_POST['choice']);

if($option == "Name")
$searchresult = "SELECT id, stationname1, stationinfo1, stationprice1, image1, stationname2, stationinfo2,
stationprice2, image2, stationname3, stationinfo3, stationprice3, image3, stationname4, stationinfo4, stationprice4,
image4 FROM fuel WHERE stationlocation1 LIKE '%" . $location . "%' ORDER BY stationname1 $choice"; //search database

它获取数据并按站名 1 排列。问题是我有站名 1 - 4,我想将它们一起排序,以便所有名称都按字母顺序排列,无论列如何。我知道使用

ORDER BY stationname1 ASC, stationname2 ASC, stationname3 ASC, stationname4 ASC

将无法正常工作,因为它是单独订购的。请问我该怎么做才能一起订购它们?

基本上是某种形式的东西

ORDER BY stationname1 and stationname2 and stationname3 and stationname4 ASC

例如...查看此数据库pic ,我希望它显示:

  • 另一个
  • 嗯嗯
  • 普通测试
  • zgkgkgkkg

按顺序

最佳答案

正如其他人所说,您确实应该对数据进行规范化,这样您就不会在每个实际行中有效地拥有 4 行数据;但这应该可以满足您的需求(并且可能是规范化数据的途径):

SELECT  id, stationname1 AS stationname, stationinfo1, stationprice1, image1
FROM fuel
WHERE stationlocation1 LIKE '%" . $location . "%'
UNION
SELECT id, stationname2 AS stationname, stationinfo2, stationprice2, image2
FROM fuel
WHERE stationlocation2 LIKE '%" . $location . "%'
UNION
SELECT id, stationname3 AS stationname, stationinfo3, stationprice3, image3
FROM fuel
WHERE stationlocation3 LIKE '%" . $location . "%'
UNION
SELECT id, stationname4 AS stationname, stationinfo4, stationprice4, image4
FROM fuel
WHERE stationlocation4 LIKE '%" . $location . "%'
ORDER BY stationname $choice;

UNION 的最后一个 ORDER BY 子句适用于整个 UNION,除非括号强制它不是这样。

关于mysql - 使用多行作为一个订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com