Как выбрать последние 10 строк таблицы SQL, которая не имеет поля идентификатора?

Как насчет

Convert.ToDecimal(doubleValue).ToString()
21
задан Edward Tanguay 17 January 2011 в 15:45
поделиться

13 ответов

Таблицы SQL не имеют неявного упорядочения, порядок должен исходить из данных. Возможно, вам следует добавить поле в таблицу (например, счетчик int) и повторно импортировать данные.

Однако, это даст только порядок импорта, а не данные. Если ваши данные не упорядочены, вы должны выяснить, как их добавить.

РЕДАКТИРОВАТЬ: вы говорите

... чтобы убедиться, что он импортировал все.

Что не так с использованием количества строк?

14
ответ дан Tony 17 January 2011 в 15:45
поделиться

Вы можете использовать опцию «ORDER BY DESC», а затем вернуть ее в исходном порядке:

(SELECT * FROM tablename ORDER BY id DESC LIMIT 10) ORDER BY id;

10
ответ дан Dustin Soodak 17 January 2011 в 15:45
поделиться
SELECT * FROM big_table ORDER BY A DESC LIMIT 10
5
ответ дан Raktim Biswas 17 January 2011 в 15:45
поделиться

Выберите из таблицы, используйте ORDER BY __ DESC для сортировки в обратном порядке, затем ограничьте свои результаты до 10.

SELECT * FROM big_table ORDER BY A DESC LIMIT 10
16
ответ дан Steven Scott 17 January 2011 в 15:45
поделиться

Вы можете с помощью кода выбрать 10 строк в конце таблицы. выбрать * из (SELECT * FROM table1 по идентификатору desc LIMIT 10) в качестве table2 order по идентификатору "

0
ответ дан mahdiaction 17 January 2011 в 15:45
поделиться

Все ответы здесь лучше, но на всякий случай ... Есть способ получить 10 последних добавленных записей. (это довольно ненадежно :)) тем не менее вы можете сделать что-то вроде

SELECT * FROM table LIMIT 10 OFFSET N-10

N - должно быть общее количество строк в таблице (SELECT count (*) FROM table). Вы можете поместить его в один запрос, используя подготовленные запросы, но я не буду вдаваться в подробности.

22
ответ дан Ivan 17 January 2011 в 15:45
поделиться

Если вы выполняете операцию LOAD DATA INFILE 'myfile.csv', самый простой способ проверить, все ли строки были введены, это проверить show warnings(); Если вы загрузите данные в пустую или временную таблицу, вы также можете проверить количество строк, которые он имеет после вставки.

4
ответ дан dnagirl 17 January 2011 в 15:45
поделиться

Выполнение запроса count (*) для больших данных стоит дорого. я думаю, что использование «SELECT * FROM таблицы ORDER BY id ID DESC LIMIT n», где n - это количество строк на странице, лучше и легче

2
ответ дан Sameeh Harfoush 17 January 2011 в 15:45
поделиться

Если вы знаете, сколько строк ожидать, я бы создал отдельную временную таблицу в вашей базе данных с ожидаемой структурой, добавил к ней, затем проверил счет ... Как только вы справитесь с этим, вы можете помассировать это. перед добавлением данных в итоговую производственную таблицу.

0
ответ дан DRapp 17 January 2011 в 15:45
поделиться

Низкотехнологичный подход: делать это с помощью SQL может быть излишним. В соответствии с вашим вопросом вам просто нужно сделать однократную проверку импорта.

Почему бы просто не сделать: SELECT * FROM ImportTable

, а затем прокрутить до нижней части таблицы результатов и визуально проверить «последние» несколько строк.

0
ответ дан Paul Sasik 17 January 2011 в 15:45
поделиться

Если вы хотите получить последние 10 записей из sql, используйте LIMIT. Предположим, база данных содержит 20 записей. Используйте приведенный ниже запрос

SELECT * FROM TABLE_NAME LIMIT 10,20;

, где 10,20 - это значение смещения. Где 10 - начальный предел, а 20 - конечный предел.

Т.е. 20 -10 = 10 записей

-1
ответ дан bowlturner 17 January 2011 в 15:45
поделиться

Если вы еще не попробовали следующую команду

SELECT TOP 10 * FROM big_table ORDER BY id DESC;

, я вижу, что она работает, когда я выполняю команду

SELECT TOP 10 * FROM Customers ORDER BY CustomerId DESC;

в Попробуйте сами командное окно https://www.w3schools.com/sql/sql_func_last.asp

-1
ответ дан Md. Intishar Rahman 17 January 2011 в 15:45
поделиться

Это можно сделать с помощью функции limit, это может показаться не новым, но я кое-что добавил. Код должен идти:

SELECT * FROM table_name LIMIT 100,10;

для приведенного выше случая предположим, что у вас есть 110 строк из таблицы. и вы хотите выбрать последние десять, 100 - это строка, которую вы хотите начать печатать (если вы хотите печатать), а десять показывает, сколько строк вы хотите выбрать из таблицы. Для более точного способа вы можете начать с выбора всех строк, которые вы хотите распечатать, а затем взять последний идентификатор строки, если у вас есть столбец идентификатора (я рекомендую поставить один), затем вычесть десять из последнего номера идентификатора, и это будет быть там, где вы хотите начать, это заставит вашу программу функционировать автономно и для любого количества строк, но если вы напишите значение напрямую, я думаю, вам придется менять код каждый раз, когда данные вставляются в вашу таблицу. Я думаю, что это помогает. Пак и Бонум.

-1
ответ дан DhiaTN 17 January 2011 в 15:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: