MySQL特定属性的复杂排序

时间:2014-04-17 03:49:07

标签: mysql

我在MySQL中有两个表,一个叫做用户,一个叫做属性。 users表存储关于人的预定义信息集,例如他们的用户名和其他各种信息。但是,属性的​​表结构如下:

+----------+---------+-------+
| username | datakey | value |
+----------+---------+-------+

在整理数据库时,我选择使用该格式,因为它允许我为用户添加任意​​数量的数据。但是,现在我需要通过特定的数据键'd-level'来订购用户。由于属性表中有多个用户名,我不确定如何继续。

我最初的想法是使用JOIN语句来连接用户表和属性表,但是我无法弄清楚如何只有具有特定数据键的行才能将它转到ORDER BY datakey('d-电平')

感谢您的帮助,我很感激!

1 个答案:

答案 0 :(得分:0)

我相信这就是你要找的东西

SELECT u.*
FROM users u
INNER JOIN attributes a 
    ON (a.username = u.username and a.datakey = 'YOUR_DATAKEY_VALUE')
ORDER BY a.datakey;

如果没有,请你加上预期的输出。

干杯,