Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

SQLite und ROWNUM?

Das Thema "SQLite und ROWNUM?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 06.09.2011, 13:17   #1 (permalink)
Junior Mitglied

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 19.03.2010
Beiträge: 35
Abgegebene Danke: 5
Erhielt 0 Danke für 0 Beiträge
Standard SQLite und ROWNUM?

Hallo!

Ich bin gerade an meiner ersten App am werkeln und ärgere mich ununterbrochen mit SQLite herum.

Bin schon froh das ich es geschafft habe meine Tabellen zu erstellen und mit Werten zu befüllen. Was ich jetzt jedoch vermisse ist meine geliebte Oracle-Funktion rownum. Am Besten ich erkläre euch was genau ich will:

Meine Tabelle:

ID || wert || zahl
1 || hallo || 0
2 || wer || 1
3 || hey || 0
4 || moin || 1

Nun: SELECT * FROM Tabelle WHERE zahl = 1;

ID || wert || zahl
2 || wer || 1
4 || moin || 1

Was ich nun gerne hätte wäre eine Rownum, also eine autoincrement ID des select-befehls (siehe Spalte rn)

rn || ID || wert || zahl
1 || 2 || wer || 1
2 || 4 || moin || 1

Aber wie erreiche ich so etwas? Ich hab jetzt ne Stunde herumgegooglet - ohne Ergebniss. Das Problem bei ROWID ist, dass er mir dabei 1:1 meine ID nimmt -.- Hat wer eine Idee?

Danke im Vorraus!
MeGaBlitz ist offline   Mit Zitat antworten
Alt 07.09.2011, 00:37   #2 (permalink)
Junior Mitglied

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 19.03.2010
Beiträge: 35
Abgegebene Danke: 5
Erhielt 0 Danke für 0 Beiträge
Standard AW: SQLite und ROWNUM?

Hmm nagut keine Ideen :/

Was mir noch gekommen ist:
CREATE TABLE tabelle2 AS SELECT * FROM tabelle WHERE WERT = 1;
SELECT rowid, * FROM tabelle2

--> Das würde klappen ist jedoch weit ungemütlicher zu realisieren. Weiters bräuchte ich dann ein CREATE OR REPLACE TABLE... was es in SQLite ebenfalls nicht zu geben scheint.

Hmpf. Eine letzte Möglichkeit wäre dann eig. nur alles in Java zu realisieren und das wäre absolut ungemütlich und auch nicht sehr effizient.
MeGaBlitz ist offline   Mit Zitat antworten
Alt 07.09.2011, 09:56   #3 (permalink)
Neuer Benutzer

Registriert seit: 21.07.2011
Beiträge: 22
Abgegebene Danke: 2
Erhielt 2 Danke für 2 Beiträge
Standard AW: SQLite und ROWNUM?

hilft dir vielleicht LIMIT? siehe SQLite Query Language: SELECT
hannes1608 ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei hannes1608 für diesen Beitrag:
MeGaBlitz (07.09.2011)
Alt 07.09.2011, 10:09   #4 (permalink)
Erfahrener Benutzer
 
Benutzerbild von surtic

Modell: HTC Desire S

Registriert seit: 12.04.2010
Beiträge: 246
Abgegebene Danke: 9
Erhielt 15 Danke für 14 Beiträge
Standard AW: SQLite und ROWNUM?

@MeGaBlitz: Kenn zwar nichts womit du dies machen willst, aber eine frage habe ich warum willst du denn noch eine Row Nummerierung? Wenn du die Daten holst hast du die doch sowieso irgend in einer List oder so.
surtic ist offline   Mit Zitat antworten
Alt 07.09.2011, 12:09   #5 (permalink)
Junior Mitglied

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 19.03.2010
Beiträge: 35
Abgegebene Danke: 5
Erhielt 0 Danke für 0 Beiträge
Standard AW: SQLite und ROWNUM?

@hannes: Danke, könnte tatsächlich funktionieren! Werde ich gleich mal an meiner App ausprobieren

@surtic: Das Problem ist: Ich will mir nur einen Wert aus der Abfrage holen.
Genauer gesagt:

--> Ich hol mir eine Liste bei der die zahl 1 ist --> sehe nach wieviele Werte ich bekomme (ANZ) --> Per Zufall wird einer dieser Werte ausgelesen.
(BSP: Ich bekomme 15 Werte --> random ergibt 12 --> Lies den zwölften Wert aus)

Das scheint bei Limit zu funktionieren da Limit tatsächlich auf die Row Nummerierung zugreift. Zumindest an meiner Testdatenbank funktioniert das tadellos
MeGaBlitz ist offline   Mit Zitat antworten
Alt 08.09.2011, 07:44   #6 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: SQLite und ROWNUM?

hmm, so richtig hab ich es zwar noch nicht kapiert, aber wenn du zufalls-zeilen aus der DB willst geht das einfach so:

SELECT * FROM table ORDER BY RANDOM() LIMIT 1;

willst du mehrere zufalls-zeilen einfach Limit erhöhen. in postgres funktioniert glaub ich sogar die gleiche syntax, in mysql heißt es glaub rand()
Tom299 ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Tom299 für diesen Beitrag:
MeGaBlitz (08.09.2011)
Alt 08.09.2011, 08:50   #7 (permalink)
Erfahrener Benutzer
 
Benutzerbild von surtic

Modell: HTC Desire S

Registriert seit: 12.04.2010
Beiträge: 246
Abgegebene Danke: 9
Erhielt 15 Danke für 14 Beiträge
Standard AW: SQLite und ROWNUM?

@MeGaBlitz: Ah so aber auch dann brauchst du doch gar nicht zu wissen welche Zeilen Nummer es ist. Für etwas hat man einen Count und kann es mit dem Index holen.

Und die Lösung von Tom ist sicher Top vor allem wird es gleich von SQL gelöst und du musst nichts in Java machen.
surtic ist offline   Mit Zitat antworten
Alt 08.09.2011, 11:38   #8 (permalink)
Junior Mitglied

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 19.03.2010
Beiträge: 35
Abgegebene Danke: 5
Erhielt 0 Danke für 0 Beiträge
Standard AW: SQLite und ROWNUM?

Zitat:
Zitat von Tom299 Beitrag anzeigen
hmm, so richtig hab ich es zwar noch nicht kapiert, aber wenn du zufalls-zeilen aus der DB willst geht das einfach so:

SELECT * FROM table ORDER BY RANDOM() LIMIT 1;

willst du mehrere zufalls-zeilen einfach Limit erhöhen. in postgres funktioniert glaub ich sogar die gleiche syntax, in mysql heißt es glaub rand()
Wohooo top lösung Danke.

Meine App funktioniert auch schon... Also, zumindest am Emulator ^^

Danke euch Allen für die schnelle Hilfe!
MeGaBlitz ist offline   Mit Zitat antworten
Antwort

Stichworte
rowid, rownum, sqlite

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
SQLite Datenbank und Server Updates? shinjo Android App Entwicklung 2 01.09.2011 12:29
SQLite-Datenbank in Emulator kopieren und Verbindung herstellen marcel_at_work Android App Entwicklung 6 25.07.2011 23:30
SQLite Android 2.2 MBPower Android App Entwicklung 2 15.09.2010 23:40
SQLite und Curso Frage lord_fritte Android App Entwicklung 5 14.06.2010 15:09
Lesen und schreiben in eine SQLite-Datenbank ensacom Android App Entwicklung 2 18.05.2009 14:23




Du liest gerade: "SQLite und ROWNUM?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.