Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Update mit count

Frage Entwicklung Datenbanken

Mitglied: Freaky-Boy

Freaky-Boy (Level 1) - Jetzt verbinden

05.06.2011 um 15:50 Uhr, 2930 Aufrufe, 5 Kommentare

Hallo Zusammen,

Ich habe ein Tabelle mit folgendem Muster

+ Download_ID + PC_ID + ANZ + 
|      1      | 18362 |  0  | 
|      2      | 18362 |  0  | 
|      3      | 18362 |  0  | 
|      4      | 28363 |  0  |
Ich möchte nun in der Spalte ANZ die vorkommen von der PC_ID eintragen.
Danach söllte es wie folgt aussehen

+ Download_ID + PC_ID + ANZ + 
|      1      | 18362 |  1  | 
|      2      | 18362 |  3  | 
|      3      | 18362 |  3  | 
|      4      | 28363 |  3  |
Ich bräuchte also einen Befehlt der so in der Art arbeitet:
UPDATE `downloads` SET `ANZ` = count(`PC_ID`)
Natürlich weiß ich, dass diese Code-Zeilen nicht funktioniert.
Leider funktioniert auch Folgendes nicht, da ich immer auf die selbe Tabelle zugreife und keine eindeutige Zuornung vorhanden ist.
UPDATE `downloads` SET `ANZ` = (SELECT count(`PC_ID`) FROM `downloads` WHERE `PC_ID` = `downloads`.`PC_ID` GROUP BY `PC_ID`)
Kann mir vllt. jemand den Weg zeigen und evtl. erklären?

Schon mal danke im Voraus.
Mitglied: bugmenot2
05.06.2011 um 16:38 Uhr
Einfach 2 Tabellen:
Download_ID und PC_ID (Download_ID primärschlüssel)
PC_ID und ANZ (PC_ID primärschlüssel)

Somit ist die Anzahl nicht mehr reduntant.

Dann würd ich die Schleife mit einem PHP-Script machen (weiß leider nicht wie das in MySQL etc. geht):
UPDATE `anz_tabelle` SET `ANZ` = (SELECT count(*) FROM `downloads` WHERE `PC_ID` = `$pci` GROUP BY `PC_ID`) WHERE `PC_ID`=`$pci`

Vielleicht hilfts.

Mit freundlichen Grüßen M_M
Bitte warten ..
Mitglied: Freaky-Boy
05.06.2011 um 20:05 Uhr
Die Idee an sich ist schon nicht schlecht. In Wirklichkeit habe ich aber keine Spalte ANZ sondern möchte an der Stelle einfach mit dem Wert weiter rechnen. Mit deiner Lösung müsste ich dann ja wieder anfangen, die beiden Tabellen zusammenzustellen. Außerdem wird sich meine Tabelle sehr schnell ändern deswegen wollte ich das ganze ohne "zwischenspeiern" lösen.

Gibt es denn eine Möglichkeit die PC_ID im UPDATE in eine Variable zu legen?
Bitte warten ..
Mitglied: Guenni
05.06.2011 um 20:41 Uhr
Hi Freaky-Boy,

. . . In Wirklichkeit habe ich aber keine Spalte ANZ, sondern möchte an der Stelle einfach mit dem Wert weiter rechnen. . . .

Dann frag' die Tabelle doch (nach dem Update ?) einfach mal so ab:

01.
<?php 
02.
 
03.
$query="select PC_ID , count(PC_ID ) as 'Anzahl' from downloads group by PC_ID "
04.
 
05.
/* 
06.
* Oder du suchst eine best. PC_ID . . . 
07.
*  
08.
* $query="select PC_ID , count(PC_ID ) as 'Anzahl' from downloads where PC_ID=62124 group by PC_ID "
09.
*/ 
10.
 
11.
$result=mysql_query($query); 
12.
 
13.
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ 
14.
  
15.
 echo "<p>".$row['PC_ID']." ist ".$row['Anzahl']." mal vorhanden<p>"
16.
 
17.
18.
 
19.
?>
Somit hast du auch PC_ID und die Anzahl in einer Variablen.


Gruß
Günni
Bitte warten ..
Mitglied: nxclass
05.06.2011 um 23:36 Uhr
Da ich nicht so ganz verstehe was Du eigentlich erreichen willst, würde ich Dir einfach mal die Begriffe: PROCEDURE und CURSOR ( http://dev.mysql.com/doc/refman/5.1/de/cursors.html ) an den Kopf werfen.
Könnte das möglicherweise etwas sein was Du suchst ?
Bitte warten ..
Mitglied: Freaky-Boy
08.06.2011 um 20:19 Uhr
Danke mit PROCEDURE und CURSOR werde ich mich noch beschäftigen.
So wie ich das vermute, kratze ich gerade mal an der Oberfläche von SQL.

Ich habe mein Problem nun nach dem Vorbild von Günni gelöst.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Server-Hardware
gelöst HP Mircroserver und Proliant Bios Update (7)

Frage von DeathNote zum Thema Server-Hardware ...

Vmware
gelöst ESXi Update über vCenter Update Manager (4)

Frage von DKowalke zum Thema Vmware ...

Windows 10
gelöst Windows 10 - Datum und Zeitfehler bei Update (3)

Frage von swisstom zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...