Mi viene posta una domanda nell'intervista che sortisce il risultato senza l'uso della clausola order by e senza utilizzare lo script come php. Ho abbastanza google ma non ho trovato la strada. C'è qualche metodo per ordinare i risultati in questo modo. E dovrebbe essere senza l'uso di script come php, ecc.ordinamento dei risultati senza uso di ordine per clausola
risposta
Non è possibile, almeno non in modo affidabile.
Alcune implementazioni SQL possono restituire righe nell'ordine delle loro chiavi primarie o indici cluster, ma SQL stesso è un'algebra relazionale che restituisce insiemi ordinatamente ordinati a meno che non sia specificato diversamente.
È probabile che l'ordine in cui vengono restituite righe dipenda dall'attività di inserimento e cancellazione dalla creazione della tabella.
La mia risposta a una questione intervista del genere sarebbe:
C'è una sorta di motivo per cui non possiamo usare 'ordine da' nelle nostre domande? L'azienda è così difficile da guadagnare denaro che non può permettersi lo spazio su disco per archiviare quei pochi byte in più per ogni query? Sei fuori di te dannazione mente? Chiedimi una domanda che sta per avere una certa rilevanza :-)
mi aspetto che stavano pescando per vedere se si sapeva che la maggior parte delle implementazioni di SQL, in generale, non garantiscono l'ordine delle righe restituite se non si utilizza in modo esplicito un ordine da clausola.
Creare una tabella
USE [Test]
GO
/****** Object: Table [dbo].[Test_order] Script Date: 06/05/2013 10:21:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Test_order](
[TID] [int] IDENTITY(1,1) NOT NULL,
[RID] [int] NULL,
[Name] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
poi inserire le righe
insert into dbo.Test_order values(1,'Test1')
insert into dbo.Test_order values(3,'Test3')
insert into dbo.Test_order values(2,'Test2')
insert into dbo.Test_order values(5,'Test5')
insert into dbo.Test_order values(6,'Test6')
insert into dbo.Test_order values(4,'Test4')
insert into dbo.Test_order values(9,'Test9')
insert into dbo.Test_order values(7,'Test7')
insert into dbo.Test_order values(8,'Test8')
questa ricerca ordinerà i dati secondo RID
select distinct b.TID,b.RID,b.[Name]
from dbo.Test_order as a,dbo.Test_order as b
where a.RID>=b.RID
- 1. Ordinamento personalizzato in ordine SQL per clausola?
- 2. Ordina Ordine dei risultati per Seleziona SENZA DOVE o ORDINA PER clausola
- 3. Ordine TSQL complesso per clausola
- 4. Ordinamento dei risultati di SQL Server in base alla clausola IN
- 5. Visualizzazione ordine di una query SQL senza ordine dalla clausola
- 6. Ordinamento dei risultati delle stringhe MySQL senza una collazione definita?
- 7. Ordinamento dei risultati di una query IndexedDB
- 8. jQuery Ordine di completamento automatico dei risultati
- 9. Memorizzazione dei risultati di ricerca per cercapersone e ordinamento
- 10. Come ignorare i risultati di ordinamento dei risultati di ricerca in Plone
- 11. ordine dei valori nell'espressione logica nella clausola if
- 12. Ordinamento dei risultati CoreData utilizzando NSPredicate in Swift
- 13. ordinamento PHP array_intersect_key() risultati per secondo array
- 14. LXML - Ordine tag di ordinamento
- 15. Utilizzo unione e ordine per clausola in mysql
- 16. Ordinamento dei dati tramite EF DbSet
- 17. Ordine di ordinamento Django admin
- 18. Ordinamento dei risultati dei modelli carichi di interesse nel nodo Sequenza
- 19. Gruppo LINQ per ordine gruppi di risultati
- 20. Contentful.com API query ordine/ordinamento
- 21. Interpretazione dei risultati dello strumento strumento "Uso di energia"
- 22. Blocchi ripetibili Mailchimp Ripristino ordine di ordinamento
- 23. Ordinamento di stringhe.xml Android in ordine alfabetico
- 24. Ordinamento dei valori delle mappe in ordine decrescente con Groovy
- 25. Ordinamento dei valori null
- 26. Scala - ordinamento basato sul predicato dei risultati futuri
- 27. TSQL: ordine per asc senza nome colonna
- 28. Completamento automatico Emacs senza visualizzazione dei risultati
- 29. Ordinamento su un ordine personalizzato
- 30. Ordine di esecuzione query/clausola MySQL
+1: adeguato sentimento, ma tale isn formulazione impressionerà il tipico intervistatore. – wallyk
Beh, se vuoi davvero quel lavoro, forse dovresti limitarti ad usare i paragrafi da 1 a 3 sopra. Io, sono vecchio e irascibile e posso scappare con cose del genere :-) – paxdiablo
ok, quindi non c'è modo di ordinarlo senza ordine per clausola significa un modo autentico. Stava solo esplorando la mia mente per un'opzione diversa allora. – nbhatti2001