基于顺序的mysql记录分组

基于顺序的mysql记录分组,mysql,Mysql,我在contact_details mysql表下创建了以下记录 +-----------+-------------+------------+ |data_ref_id| data_value | data_order | +-----------+-------------+------------+ |ref001 | Alex | 001 | |ref001 | 040-345-234 | 002 | |ref002

我在contact_details mysql表下创建了以下记录

+-----------+-------------+------------+
|data_ref_id| data_value  | data_order |
+-----------+-------------+------------+
|ref001     | Alex        |        001 |
|ref001     | 040-345-234 |        002 |
|ref002     | Adam        |        001 |
|ref002     | 040-225-254 |        002 |
+-----------+-------------+------------+
如何获取以下格式的记录

+------+-------------+
| Alex | 040-345-234 |
| Adam | 040-225-254 |
+------+-------------+
如果数据顺序始终为001和002,则可以使用类似的方式

select t1.data_value as name,t2.data_value as phone
from your_table t1
inner join your_table t2
on t1.data_ref_id=t2.data_ref_id
and t1.data_order='001'
and t2.data_order='002'

您计划在订单中使用哪一列,因为无法保证输出将按照您在问题中提到的相同顺序显示。类似于@Utsav所说的,您如何知道哪个数字应该与Adam对齐,哪个与Alex对齐。如果这仍然是在项目中的早期,你应该考虑你的数据模型的变化。WiRD问题没有关系,亚历克斯040-355-244和亚当040-225-254之间的关系是用列DATAReFig修正数据。id@GratusD.:使用附加列更新问题以获得更清晰的信息-数据\u参考\u id