Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо резултатите от SQL заявка не се връщат в реда, в който очаквам?

Редът на заявка може да бъде принуден чрез използване на клауза „Поръчай по“ в оператора. SQL база данни всъщност не разбира в какъв ред поставяте нещата или съхранявате данните в даден ред. Това означава, че трябва да кажете на SQL в какъв ред искате елементите. Например:

Select * from Table
  order by column1 desc

Помислете за това като да дадете някои неща на приятеля си, за да го държи - тя ще има всичко за вас по-късно, но тя го съхранява някъде междувременно. Тя може да го премести, докато вие не искате да правите място за нещо друго, или може да го върне в същия ред, в който сте й го дали, но не сте й казали да го поддържа в ред, така че тя не го прави .

Базите данни трябва да могат да преместват нещата във фонов режим, така че начинът, по който са изградени, не знае по същество за никакъв ред - трябва да знаете реда, когато го давате на базата данни, за да можете да го върнете обратно в поръчайте по-късно. Клаузата за поръчка позволява на SQL да наложи ред върху данните, но той не помни или има такъв самостоятелно.

Важен момент :Дори когато SQL върна елементите в правилния ред без подреждане по оператор последните 1 милион пъти, това не гарантира, че ще го направи. Дори ако в таблицата съществува клъстериран индекс, не е гарантирано, че резултатите ще бъдат върнати в реда, който очаквате. Особено когато версиите на SQL се променят, неизричното използване на клауза за поръчка може да счупи програми, които предполагат, че заявката ще бъде в реда, който искат!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql избира динамични стойности на редове като имена на колони, друга колона като стойност

  2. Как да премахнете напълно MySQL от Ubuntu

  3. Първични ключове на MySQL

  4. Какво е по-добре в MYSQL count(*) или count(1)?

  5. ИНДИЯ, STD Code Finder Script в PHP, MYSQL, JQUERY