как получить самые высокие 10 значений из столбца sqlite3 [дубликат]

Он не должен работать и, конечно же, не работает на всех компиляторах и целевой ОС, даже если он работает на вас.

Вероятное объяснение состоит в том, что возвращаемая функция int всегда возвращает что-то, и обычно это содержимое регистра. Вероятно, регистр, используемый для возвращаемого значения, в вашем случае тот же, что и для вычисления последнего выражения, перед возвратом из функции (на целевые объекты x86, конечно же, eax).

При этом оптимизирующий компилятор обнаружив, что нет возврата, можно полностью удалить код этой функции. Впоследствии эффект, который вы видите (может) исчезнуть при активации более высоких уровней оптимизации.

Я проверил его с помощью gcc:

gcc без оптимизации: входы 10, 20 -> результат равен 10

gcc -O1 входы 10, 20 -> результат 1

gcc -O2 входы 10, 20 -> результат равен 0

246
задан Antonio Bakula 29 October 2013 в 14:36
поделиться

7 ответов

SELECT * FROM Table_Name LIMIT 5;
464
ответ дан Tim Cooper 16 August 2018 в 06:49
поделиться
  • 1
    +2 как для правильного ответа, так и для не включенных квадратных скобок. – DaveBoltman 2 October 2017 в 14:20
select price from mobile_sales_details order by price desc limit 5

Примечание: у меня есть mobile_sales_details таблица

синтаксис

select column_name from table_name order by column_name desc limit size.  

, если вам нужна верхняя низкая цена, просто удалите ключевое слово desc из order by

19
ответ дан Bharathiraja 16 August 2018 в 06:49
поделиться

Эквивалентным утверждением будет

select * from [TableName] limit 5

http://www.w3schools.com/sql/sql_top.asp

39
ответ дан Chris J 16 August 2018 в 06:49
поделиться
  • 1
    Откуда вы знаете, что это ServiceLog? ;-) – Michael Krelin - hacker 28 April 2010 в 13:17
  • 2
    это была моя ошибка. я позже изменил его на [Table_Name] – Amitabh 28 April 2010 в 14:17
  • 3
    Ах, никакой тайны здесь :-( ;-) – Michael Krelin - hacker 28 April 2010 в 14:25
select * from [TABLE_NAME] limit 5
4
ответ дан Gluttton 16 August 2018 в 06:49
поделиться

TOP и квадратные скобки относятся к Transact-SQL. В ANSI SQL используются LIMIT и backticks (`).

select * from `Table_Name` LIMIT 5;
28
ответ дан newtover 16 August 2018 в 06:49
поделиться
  • 1
    LIMIT не является ANSI SQL. Метод ANSI SQL - ТОЛЬКО FETCH FIRST 5 ROWS. Также для ограниченных идентификаторов используются двойные кавычки, например. & Quot; TABLE_NAME & Quot ;. – jarlh 9 June 2015 в 10:53
Select TableName.* from  TableName DESC LIMIT 5
4
ответ дан user1 16 August 2018 в 06:49
поделиться
select * from [Table_Name] limit 5
22
ответ дан YOU 16 August 2018 в 06:49
поделиться
  • 1
    Одна минута слишком поздно, и вы пропустили сотни вертушек – Todd 12 October 2016 в 05:13
  • 2
    или может отсутствовать все колпачки – YOU 12 October 2016 в 10:14
Другие вопросы по тегам:

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