我想计算并排序我的用户即将到来的生日。这里有很多查询可以实现这一点,但我的数据存储方式与大多数数据库不同。
我的数据库如下:
p_id | pfield_id | user_id | Profile_value
日期存储在profile_value where pfield_id = '1'
中
实现这一目标的最佳方式是什么?
我想要user_id
和即将到来的生日
非常感谢
【样本数据】
Where "some data" is not a date.
------------------------------------------------
| p_id | pfield_id | user_id | Profile_value |
| 1 | 1 | 1 | 20-12-2000 |
| 2 | 2 | 1 | some data |
| 3 | 1 | 2 | 15-07-2000 |
| 4 | 3 | 2 | some data |
| 5 | 4 | 2 | some data |
| 6 | 1 | 3 | 25-10-2000 |
| 7 | 2 | 2 | some data |
用户ORDER BY
:
SELECT user_id,Profile_value //Columns
FROM tableName //Table
WHERE
pfield_id='1' AND //pfield_id equals to 1
Profile_value >= CURDATE(); //Date in table >= current date (today's date)
ORDER BY DATE(Profile_value) ASC //Order from most recent`
EDIT:添加了DATE
功能,因此可以进行订购