я построить упражнения веб-приложение, и я работаю с двумя столами, как это:Выберите последнюю MAX() и MIN() - WebSQL
Таблица 1: weekly_stats
| id | code | type | date | time |
|----|--------------|--------------------|------------|----------|
| 1 | CC | 1 | 2015-02-04 | 19:15:00 |
| 2 | CC | 2 | 2015-01-28 | 19:15:00 |
| 3 | CPC | 1 | 2015-01-26 | 19:15:00 |
| 4 | CPC | 1 | 2015-01-25 | 19:15:00 |
| 5 | CP | 1 | 2015-01-24 | 19:15:00 |
| 6 | CC | 1 | 2015-01-23 | 19:15:00 |
| .. | ... | ... | ... | ... |
Таблица 2: global_stats
| id | exercise_number |correct | wrong |
|----|-----------------|--------|-----------|
| 1 | 138 | 1 | 0 |
| 2 | 246 | 1 | 0 |
| 3 | 988 | 1 | 10 |
| 4 | 13 | 5 | 0 |
| 5 | 5 | 4 | 7 |
| 6 | 5 | 4 | 7 |
| .. | ... | ... | ... |
что я хотел бы, чтобы получить MAX (правильно-неправильно) и MIN (правильно-неправильно), и теперь я работаю с этим запросом:
SELECT
exercise_number,
date,
time
FROM weekly_stats AS w JOIN global_stats AS g
ON w.id=g.id
WHERE correct - wrong = (SELECT MAX(correct - wrong) from global_stats)
UNION
SELECT
exercise_number,
date,
time
FROM weekly_stats AS w JOIN global_stats AS g
ON w.id=g.id
WHERE correct - wrong = (SELECT MIN(correct - wrong) from global_stats);
Этот запрос работает хорошо, за исключением одного: когда «WHERE correct - wrong = (SELECT MIN (правильный - неправильный) [...]» выбирает более одной строки, выбранная строка является первой, но я хотел бы вернуть самые последние (другими словами: упорядочен по дате (дата, время)). Возможно ли это?
Спасибо!
Непонятно, что вы спрашиваете, но если это всего лишь вопрос упорядочения результатов, то, возможно, добавление 'ORDER BY date DESC, time DESC' к каждому из компонентных запросов даст вам то, что вы хотите. –