似乎无法正确查询此查询。这就是我需要做的事情。
年龄在40以下,例如返回...
| NAME |--| AGE |
|------|--|-----|
| Amy | | 26 |
| John | | 22 |
| Dan | | 30 |
查找与上面返回的名称类似的名称,并按字母顺序排序......
| NAME |--| AGE |
|------|--|-----|
| Aaron| | 33 |
| Amy | | 26 |
| Jacob| | 25 |
| John | | 22 |
| Dan | | 30 |
按原始返回的年龄值值对字母组排序......
| NAME |--| AGE |
|------|--|-----|
| Jacob| | 25 |
| John | | 22 |-->was youngest from first query so his group goes first
| Aaron| | 33 |
| Amy | | 26 |
| Dan | | 30 |
答案 0 :(得分:0)
这应该允许您按年龄排序结果,然后按照与该人的第一个字母相匹配的名称排序。其他p1标准应替换为您用于确定第一组的其他标准:
SELECT p2.NAME, p2.AGE
FROM PEOPLE p1
JOIN PEOPLE p2
ON substring(p1.NAME,1,1) = substring(p2.NAME,1,1)
WHERE p1.AGE < 40
AND OTHER p1 CRITERIA
ORDER BY p1.AGE, p2.NAME