You would need batches of users to submit pieces of data together as a group. Otherwise, if submissions trickled in one at a time, you could constantly monitor the list of users that have submitted data (or use backups/timestamps/record sequence ids in the database to retrospectively achieve this). It will then be obvious when a user submits data for the first time, and it'll be obvious which piece of data is theirs, because they will suddenly appear in the list of users that have made submissions when that piece of data arrives.
For a batch of user submissions:
Require all users in the batch to have a public/private key pair. Maintain a list of all user public keys corresponding to all user identities, and make the list of public keys available to all users.
Require all data submissions to include a Linkable Spontaneous Anonymous Group Signature (LSAG).
When a user contributes data to the batch, require it to be signed with an LSAG signature. The group signature would reference the public keys of all users in the batch.
The way LSAGs work is that a 'tag/key image' will appear with each signature. No one can tell which public key or user identity the tag corresponds to. They can only know for sure that it corresponds to one of the public keys associated with the batch. The LSAG verification enforces consistency, which means there is only one valid tag per public key that can be declared with a signature.
Therefore, even if some users contribute multiple pieces of data and submit multiple signatures, it can be publicly verified that a certain number of distinct users have submitted data. The batch can be built up submission-by-submission in public view. When the number of distinct tags matches the number of users required to submit data as part of the batch, the batch is ready for inclusion in the database.
The database now has a record of every user/public key that has ever made a submission, and it can be known whether any particular user has not yet made a submission.
Note that the anonymity set size depends on the size of the batches. If only two users contribute data as part of a batch, then the database won't know which user submitted which piece of data. However, for any particular piece of data submitted in that batch, the database will know it must have come from one of the two users that participated in the batch.