Datensätze zählen.

Status
Nicht offen für weitere Antworten.
M

MiDniGG

Gast
Hi,

ich hab gesucht und nichts gefunden.

Deshalb meine Frage. Wie kann ich mit SQL die Datensätze zählen? Und ich meine nicht mit COUNT(*), da dazu eine Gruppierung notwendig ist.

Kurz. Ich brauch die Anzahl der Datensätze, dass ich mit einem BETWEEN o. ä. bestimmte Datensätze auslesen/anzeigen kann...

Ich hab es zwar schon anderst gelöst bekommen, möchte aber doch wissen, ob es möglich ist das mit SQL zu lösen.

Vielen Dank schon mal für die Hilfe :)

Hier der funktionierende Code:

Code:
Class.forName( "org.hsqldb.jdbcDriver" );
Connection cn = DriverManager.getConnection( "jdbc:hsqldb:hsql://localhost:6745/webdb", "hsqlAdmin", "admin");
PreparedStatement ps = cn.prepareStatement("SELECT Name, eMail, Homepage, Text, Date FROM guestbook ORDER BY id DESC");
ResultSet rs = ps.executeQuery();
			
doc.add(new Phrase("Gästebucheinträge", new Font(BaseFont.createFont(BaseFont.COURIER_BOLD, BaseFont.CP1250, true), 20)));
			PdfPTable table = new PdfPTable(3);
			table.setWidths(new int[] {20, 40, 40});
			table.setWidthPercentage(100);
			table.setHorizontalAlignment(table.ALIGN_MIDDLE);
			
			for (int i = 0; i < pages; i++) {
				rs.next();
			}
			
			for (int i = 0; i < 10 && rs.next(); i++)
			{...

Und hier der SQL-Code der nicht will wie ich es gerne hätte:

Code:
SELECT Name, eMail, Homepage, Text, Date FROM guestbook WHERE COUNT(*) BETWEEN " + pages +" AND " + (pages + 10) + " ORDER BY id DESC

wundert euch nicht über die Titel, das ist nur eine kleine Übung :)
 

abollm

Top Contributor
midnigg hat gesagt.:
Hi,

ich hab gesucht und nichts gefunden.

Deshalb meine Frage. Wie kann ich mit SQL die Datensätze zählen? Und ich meine nicht mit COUNT(*), da dazu eine Gruppierung notwendig ist.

Kurz. Ich brauch die Anzahl der Datensätze, dass ich mit einem BETWEEN o. ä. bestimmte Datensätze auslesen/anzeigen kann...

Ich hab es zwar schon anderst gelöst bekommen, möchte aber doch wissen, ob es möglich ist das mit SQL zu lösen.

Vielen Dank schon mal für die Hilfe :)

Hier der funktionierende Code:
[..]
wundert euch nicht über die Titel, das ist nur eine kleine Übung :)

In SQL kannst du die Anzahl der Datensätze mit folgendem grundsätzlichem SELECT-Statement abfragen:
Code:
SELECT count(*) from deineTabelle t [where t.column1 ...];
 
G

Guest

Gast
Hm klingt schon mal gut. Danke :)

Jedoch hab ich noch ein problem, da ich ja möchte, dass nur z.B. die Datensätze 10-20 ausgegeben werden.
Nach ID kann ich allerdings nicht sortieren, da ja auch wieder Datensätze gelöscht werden können...
Hat noch jemand eine Idee?

Oder geht das, dass ich dann einfach noch bei WHERE irgendwie COUNT(*) > 10 AND < 20 eingeb?

Gruß :)
 
S

SlaterB

Gast
häh, count(*) kanntest du doch schon (und hast darauf hingewiesen),

abollm wiederholt das bekannte Wissen, was schon merkwürdig genug ist,
aber dann sagts du auch noch 'Hm klingt schon mal gut. Danke'?
verrückt ;)


was du willst gibts im allgemeinen SQL nicht,
in Oracle gibts
SELECT x FROM yWHERE rownum between 12 and 15;

in MySQL gibts
SELECT x FROM y WHERE z limit 12,3;

(geklaut aus:
http://www.issociate.de/board/post/147275/rownum_equivalent_unter_MySQL?.html
)
 

abollm

Top Contributor
SlaterB hat gesagt.:
häh, count(*) kanntest du doch schon (und hast darauf hingewiesen),

abollm wiederholt das bekannte Wissen, was schon merkwürdig genug ist,
aber dann sagts du auch noch 'Hm klingt schon mal gut. Danke'?
verrückt ;)


was du willst gibts im allgemeinen SQL nicht,
in Oracle gibts
SELECT x FROM yWHERE rownum between 12 and 15;

Wenn schon, dann:
Code:
SELECT count(x) FROM y WHERE rownum between 12 and 15;
;-)
 
M

MiDniGG

Gast
SlaterB hat gesagt.:
häh, count(*) kanntest du doch schon (und hast darauf hingewiesen),

abollm wiederholt das bekannte Wissen, was schon merkwürdig genug ist,
aber dann sagts du auch noch 'Hm klingt schon mal gut. Danke'?
verrückt ;)

Hehe. Jaah. Aber ich wusste nicht wie (in welcher reihenfolge) ich es schreiben sollte... Und da ich es so noch nicht ausprobiert hatte hab ich das halt mal geschrieben ^^

Naja. Habs etz so gelöst:

Code:
SELECT * FROM (SELECT id, Name, Email, Homepage, Date, Text FROM guestbook AS guestbook LIMIT " + (pages + 10) + " OFFSET " + (pages) + ") ORDER BY id

Wie Hobbit es geschrieben hat ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Datensätze in DataGrip (IntelliJ) Datenbankprogrammierung 1
nonickatall MySQL Auf neue Datensätze in einer Datenbank reagieren Datenbankprogrammierung 5
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
R MySQL Datensätze in Textdokument Datenbankprogrammierung 7
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
R Große Datensätze, kleine Rechte Datenbankprogrammierung 8
J wie mit resultset.next() über Datensätze iterieren? Datenbankprogrammierung 15
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
E primaryKey auslesen - Datensätze abgleichen Datenbankprogrammierung 4
S Häufig vorkommende Datensätze Datenbankprogrammierung 4
Kandum MySQL Anzahl gefundener Datensätze bleibt gleich, auch wenn mehr existieren und ausgegeben werden Datenbankprogrammierung 3
P Mit Hibernate mehrere Datensätze löschen Datenbankprogrammierung 7
J Datensätze löschen Datenbankprogrammierung 6
O Löschen vieler Datensätze mit Hibernate Datenbankprogrammierung 11
C Hibernate Datensätze finden Datenbankprogrammierung 17
F [SQLite] Mehrere Datensätze einfügen Datenbankprogrammierung 12
S Anzahl Datensätze in db4o Datenbankprogrammierung 2
D Können nur angesehende Datensätze geloggt werden? Datenbankprogrammierung 4
F NUR 3 datensätze auslesen Datenbankprogrammierung 6
F MySQL Nur die Datensätze zurückgeben, in denen ein anderer Preis steht Datenbankprogrammierung 9
B Aktuellen Stand der Datensätze einer Datenbank anzeigen Datenbankprogrammierung 9
J SQL-Abfrage zur löschung doppelter Datensätze Datenbankprogrammierung 7
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J Datensätze aus der Datenbank holen Datenbankprogrammierung 3
S MySQl - Neue Datensätze "on the Fly" verarbeiten Datenbankprogrammierung 8
M Keine doppelten Datensätze einfügen Datenbankprogrammierung 24
N Oracle DB liefert nicht alle Datensätze Datenbankprogrammierung 3
C Doppelte Datensätze Datenbankprogrammierung 11
T Datensätze effektiv einlesen Datenbankprogrammierung 4
ARadauer viele datensätze. Datenbankprogrammierung 3
I Anzahl unterschiedlicher Datensätze ausgeben Datenbankprogrammierung 2
D mehrere Datensätze in ein Listenfeld Datenbankprogrammierung 2
S 50.000 updates auf 50.000 Datensätze Datenbankprogrammierung 3
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
M JDBC: Viele Datensätze in Tabelle einfügen: Wie? Datenbankprogrammierung 7
C Datensätze variabel hinzufügen Datenbankprogrammierung 4
K Ältere Datensätze archivieren Datenbankprogrammierung 4
C Datensätze in einer JComboBox auflisten Datenbankprogrammierung 2
V Anzahl der Datensätze abfragen Datenbankprogrammierung 9
W Datensätze v. SQL-Datenbank i. JTextFields ausgeben/updaten Datenbankprogrammierung 12
D Anzahl der zurückgelieferten Datensätze Datenbankprogrammierung 2
S MySQL Rows zählen? Datenbankprogrammierung 5
R Zeichenkette in String zählen Datenbankprogrammierung 3
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
S Buchstaben zählen Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben