我的桌子看起来像这样
username clientname date time publishedapp
akirk hplaptop1 30/07/2015 8:42:30.04 PB Desktop service
akirk hplaptop1 30/07/2015 8:40:30.04 Chrome
akirk hplaptop1 30/07/2015 8:40:20.04 desktop@Work2-1
akirk hplaptop1 30/07/2015 8:40:20.04 Powerplan
john dellPC1 27/07/2015 9:41:30.04 desktop@Work2-1
john dellPC1 27/07/2015 9:41:30.04 Word 2013
karl delllaptop2 27/07/2015 9:40:21.00 Chrome
karl delllaptop2 27/07/2015 9:40:21.00 Desktop with acrobat
jdoe HPPC1 27/07/2015 9:40:15.00 Powerplan我想出去戴上正方形
Username:
List of apps/software在某些情况下,列表将被过滤以包含用户、用户、某些桌面和多个应用程序,因此我希望在返回时获得类似的内容。
使用桌面@Work2-1和至少一个应用程序的用户
User akirk
apps chrome, powerplan
User John
apps word 2013
...使用多个应用程序的用户
User akirk
apps chrome, powerplan
...使用桌面@Work2-1和其他桌面的用户
User akirk
desktops PB Desktop service
...对如何开始这个有什么想法吗?
我正在使用PHP,Im考虑每个用户一个查询,然后使用php来完成剩下的工作?这有可能吗?
编辑:
我尝试过这样的GROUP_CONCAT:
$conn->query("SET group_concat_max_len = 2048");
$sql = "SELECT username,
GROUP_CONCAT(DISTINCT publishedapp SEPARATOR \",\")
FROM tbl_name
GROUP BY username
";但是我得到了

我的PHP
for ($i=1; $i <= $result->num_rows; $i++) {
$row = $result->fetch_assoc();
//echo $i .".- ". $name1 = $row["username"];
echo $i .".- ". $name1 = $row["username"] ." ". $app1 = $row["publishedapp"];
echo "<br>";
}发布于 2015-08-21 15:05:02
我成功地用group_concat做了这件事,因为它失去了可以从PHP调用它的部分.
查询
$sql = "SELECT username,
GROUP_CONCAT(DISTINCT publishedapp SEPARATOR \"<br>\") AS publishedapp
FROM tbl_name
GROUP BY username
";PHP
for ($i=1; $i <= $result->num_rows; $i++) {
$row = $result->fetch_assoc();
//echo $i .".- ". $name1 = $row["username"];
//echo $i .".- ". $name1 = $row["username"] ." ". $app1 = $row["publishedapp"];
echo $i .".- ". $name1 = $row["username"];
echo "<br>";
echo $app1 = $row["publishedapp"];
echo "<br>";
echo "<br>";
}发布于 2015-08-20 15:25:09
没错,您只需要一个查询,然后对于每个返回的行,您可以将已发布的应用程序存储在一个变量中,逗号分隔如下:
$apps = "";
//Where you are retrieving your sql data
$apps .= $your_returned_data . ", ";然后,只要回显$apps,您就会得到一个逗号分隔的应用程序列表:)
不应该说每个用户一个查询(错误)。你只需要这样的东西:
SELECT * FROM tablename GROUP BY usernamehttps://stackoverflow.com/questions/32122007
复制相似问题